10 REM BARUKO+DEMOPLAY
20 REM (C)2012 gamecast
30 REM software entertainment
40 REM update 19/2/2012
50 REM version 3.0
60 REM credits jipe&kdl
70 REM credits danysoft
80 BLOAD"AFX-PT3.bin",R
90 REM INIT DEFUSR
100 DEFUSR1=&HC103:REM PLAY!
110 DEFUSR2=&HC100:REM STOP!
120 DEFUSR3=&HC114:REM SFX
130 REM POKE&HC118,N SFX
140 REM POKE&HC11A,V SFX
150 REM
160 DEFINTA-Z:HI=762:T1=0:WIDTH32
170 REM INTRO TITLE
180 CLS
190 VPOKE8208,16*6+10
200 FORI=0TO31:PUTSPRITEI,,0,0:NEXTI
210 LOCATE 1,0:PRINT"1UP":LOCATE10,0:PRINT"hi-score"
220 LOCATE0,1:PRINTP1*100:LOCATE9,1:PRINTHI*100:LI=3:LV=1
230 LOCATE19,0:PRINT"KEYS":LOCATE23,0:PRINTKE:LOCATE19,1:PRINT"REST":LOCATE23,1:PRINTLI
240 L=PG:L=L+1:C$="00":GOSUB 1300:A$=B$:L=LV:GOSUB 1300:
250 LOCATE 27,0:PRINT "SCENE":LOCATE 27,1:PRINT A$;"-";B$
260 LOCATE0,8
270 PRINT"               "
280 PRINT"                    "
290 PRINT"                    "
300 PRINT"                 "
310 PRINT"                    "
320 PRINT"               "
330 PUTSPRITE1,(12,46),15,35:PUTSPRITE2,(220,46),15,37
340 LOCATE1,18:PRINT"EXTRA BONUS 1UP EVERY 50000 PTS"
350 LOCATE 1,20:PRINT" @ 2012 GAMECAST ENTERTAINMENT"
360 LOCATE 3,22:PRINT"push space or fire to start";
370 POKE&HC11A,15:POKE&HC118,31:A=USR3(0)
380 ON STRIG GOSUB 640,640,640:STRIG(0)ON:STRIG(1)ON:STRIG(2)ON
390 TI=TI+1:IFTI>200THENTI=0:T1=T1+1:GOTO420
400 IFT1=2THENT1=0:FORI=0TO2000:NEXTI:I=0:A=USR2(0):RUN"BARUDEMO.BAS"
410 GOTO 380
420 REM intro 2
430 CLS
440 POKE&HC11A,15:POKE&HC118,30:A=USR3(0)
450 LOCATE3,0:PRINT"BARUKO GAMEPLAY @ GAMECAST"
460 X=30:Y=20:SP=3:Z=0:PUTSPRITE1,(X,Y-1),7,SP+Z:PUTSPRITE2,(X,Y-1),10,1+SP+Z:PUTSPRITE3,(X,Y-1),12,2+SP+Z
470 PUTSPRITE4,(30,45),15,35:PUTSPRITE5,(30,70),15,40
480 LOCATE6,3:PRINT"baruko 1up":LOCATE6,6:PRINT"skeletor":LOCATE6,9:PRINT"mummy"
490 LOCATE4,12:PRINTCHR$(136)+CHR$(137):LOCATE4,13:PRINTCHR$(138)+CHR$(139)
500 LOCATE4,15:PRINTCHR$(168)+CHR$(170):LOCATE4,16:PRINTCHR$(169)+CHR$(171)
510 LOCATE4,18:PRINTCHR$(144)+CHR$(146):LOCATE4,19:PRINTCHR$(145)+CHR$(147)
520 LOCATE4,21:PRINTCHR$(152)+CHR$(153):LOCATE4,22:PRINTCHR$(154)+CHR$(155)
530 LOCATE18,3:PRINTCHR$(160)+CHR$(161):LOCATE18,4:PRINTCHR$(162)+CHR$(163)
540 LOCATE18,6:PRINTCHR$(176)+CHR$(178):LOCATE18,7:PRINTCHR$(177)+CHR$(179):LOCATE18,9:PRINTCHR$(184)+CHR$(186):LOCATE18,10:PRINTCHR$(185)+CHR$(187)
550 LOCATE7,12:PRINT"baule":LOCATE7,15:PRINT"key":LOCATE7,18:PRINT"door":LOCATE7,21:PRINT"safe"
560 LOCATE21,3:PRINT"scrigno":LOCATE21,6:PRINT"exit level":LOCATE21,9:PRINT"back level"
570 LOCATE7,13:PRINT"400 pts":LOCATE7,16:PRINT"400 pts":LOCATE7,19:PRINT"100 pts":LOCATE7,22:PRINT"800 pts"
580 LOCATE21,4:PRINT"600 pts":LOCATE21,7:PRINT"1000 pts":LOCATE21,10:PRINT"0000 pts"
590 ON STRIG GOSUB 620,620,620:STRIG(0)ON:STRIG(1)ON:STRIG(2)ON
600 TI=TI+1:IFTI>400THENTI=0:GOTO180
610 GOTO590
620 TI=0:RETURN180
630 REM SCORE,LIVES
640 FORI=0TO31:PUTSPRITEI,,0,0:NEXTI
650 STRIG(0)OFF:STRIG(1)OFF:STRIG(2)OFF
660 POKE&HC11A,15:POKE&HC118,30:A=USR3(0)
670 P1=0:CLS
680 REM set clr wall
690 VPOKE8208,16*14+15
700 LI=3:SC=0:BO=500:LV=1:KE=0:PG=0
710 CLS:LOCATE 11,10:PRINT"LEVEL";LV
720 LOCATE 12,12:PRINT"READY"
730 FORA=0TO3000:NEXT:A=0:CLS
740 LOCATE 1,0:PRINT"1UP":LOCATE10,0:PRINT"HI-SCORE":LOCATE23,0:PRINT"2UP"
750 LOCATE0,1:PRINTP1*100:LOCATE9,1:PRINTHI*100:LOCATE19,0:PRINT"KEYS":LOCATE23,0:PRINTKE:LOCATE19,1:PRINT"REST":LOCATE23,1:PRINTLI
760 L=PG:L=L+1:C$="00":GOSUB 1300:A$=B$:L=LV:GOSUB 1300:
770 LOCATE 27,0:PRINT "SCENE":LOCATE 27,1:PRINT A$;"-";B$
780 A=USR8(PG):A=USR1(0)
790 XG=112:YG=24:XJ=112:YJ=24:G1=7
800 X=8:Y=24:SP=0:Z=0:SK=39
810 PUTSPRITE1,(X,Y),7,SP+Z:PUTSPRITE2,(X,Y),10,1+SP+Z:PUTSPRITE3,(X,Y),12,2+SP+Z
820 KEY(1)ON:ONKEYGOSUB1940
830 ONINTERVAL=30GOSUB1980
840 PUTSPRITE5,(XG,YG),14,35
850 ON STRIG GOSUB 1730,1730,1730:STRIG(0)ON:STRIG(1)ON:STRIG(2)ON
860 ON STICK(0)ORSTICK(1)GOSUB950,950,960,960,970,970,980,980
870 X1=X:Y1=Y
880 REM
890 IFSTICK(0)ORSTICK(1)>0THENZ=Z+3ANDZ<1
900 IFP1>HITHENHI=P1:LOCATE9,1:PRINTHI*100
910 IFP1>=BOTHENBO=BO+500:LI=LI+1:LOCATE23,1:PRINTLI:POKE&HC11A,15:POKE&HC118,30:A=USR3(0)
920 IFTIME>30THENTIME=0:GOSUB1150:REM MOVE SKELETOR
930 IFX<XG+16ANDX>XG-16ANDY<YG+16ANDY>YG-8THENGOSUB1390
940 GOTO860
950 SP=12:Y1=Y:Y=Y-8:GOSUB990:PUTSPRITE1,(X,Y-1),7,SP+Z:PUTSPRITE2,(X,Y-1),10,1+SP+Z:PUTSPRITE3,(X,Y-1),12,2+SP+Z:RETURN
960 SP=0:X1=X:X=X+8:GOSUB990:PUTSPRITE1,(X,Y-1),7,SP+Z:PUTSPRITE2,(X,Y-1),10,1+SP+Z:PUTSPRITE3,(X,Y-1),12,2+SP+Z:IFX=240THENA=USR7(PG):PG=PG+1:A=USR8(PG):X=0:GOSUB1370:GOSUB1330:XG=112:YG=24:RETURNELSERETURN
970 SP=18:Y1=Y:Y=Y+8:GOSUB990:PUTSPRITE1,(X,Y-1),7,SP+Z:PUTSPRITE2,(X,Y-1),10,1+SP+Z:PUTSPRITE3,(X,Y-1),12,2+SP+Z:RETURN
980 SP=6:X1=X:X=X-8:GOSUB990:PUTSPRITE1,(X,Y-1),7,SP+Z:PUTSPRITE2,(X,Y-1),10,1+SP+Z:PUTSPRITE3,(X,Y-1),12,2+SP+Z:IFX=0THENA=USR7(PG):PG=PG-1:A=USR8(PG):X=240:GOSUB1370:XG=112:YG=24:GOSUB1330:RETURNELSERETURN
990 Z1=6144+INT(INT((Y)/8)*32+((X)/8))
1000 Z2=VPEEK(Z1)
1010 IFX>256THENX=256
1020 IFX<0THENX=0
1030 IF VPEEK(Z1)=128ORVPEEK(Z1+1)=128ORVPEEK(Z1+32)=128ORVPEEK(Z1+33)=128THEN X=X1:Y=Y1
1040 IF VPEEK(Z1)=172ORVPEEK(Z1+1)=172ORVPEEK(Z1+32)=172ORVPEEK(Z1+33)=172THENIFKE>0THENKE=KE-1:LOCATE23,0:PRINTKE:VPOKEZ1,32:VPOKEZ1+1,32:VPOKEZ1+32,32:VPOKEZ1+33,32ELSEX=X1:Y=Y1
1050 IFZ2=144ANDKE>=1THENVPOKEZ1,32:VPOKEZ1+1,32:VPOKEZ1+32,32:VPOKEZ1+33,32:P1=P1+1:LOCATE0,1:PRINTP1*100:POKE&HC11A,15:POKE&HC118,7:A=USR3(0):KE=KE-1:LOCATE23,0:PRINTKE
1060 IFZ2=144ANDKE<=0THENX=X1:Y=Y1
1070 IF Z2=168 THEN VPOKEZ1,32:VPOKEZ1+1,32:VPOKEZ1+32,32:VPOKEZ1+33,32:P1=P1+4:LOCATE0,1:PRINTP1*100:POKE&HC11A,15:POKE&HC118,9:A=USR3(0):KE=KE+1:LOCATE23,0:PRINTKE:PL=60:INTERVALON
1080 IF Z2=176 THENVPOKEZ1,32:VPOKEZ1+1,32:VPOKEZ1+32,32:VPOKEZ1+33,32:P1=P1+10:LOCATE0,1:PRINTP1*100:PL=63:INTERVALON:GOTO1540
1090 IF Z2=152 THEN VPOKEZ1,32:VPOKEZ1+1,32:VPOKEZ1+32,32:VPOKEZ1+33,32:P1=P1+8:LOCATE0,1:PRINTP1*100:POKE&HC11A,15:POKE&HC118,10:A=USR3(0):PL=62:INTERVALON
1100 IF Z2=136 THEN VPOKEZ1,32:VPOKEZ1+1,32:VPOKEZ1+32,32:VPOKEZ1+33,32:P1=P1+4:LOCATE0,1:PRINTP1*100:POKE&HC11A,15:POKE&HC118,12:A=USR3(0):PL=60:INTERVALON
1110 IF Z2=160 THEN VPOKEZ1,32:VPOKEZ1+1,32:VPOKEZ1+32,32:VPOKEZ1+33,32:P1=P1+6:LOCATE0,1:PRINTP1*100:POKE&HC11A,15:POKE&HC118,14:A=USR3(0):PL=61:INTERVALON
1120 IF Z2=184 THEN VPOKEZ1,32:VPOKEZ1+1,32:VPOKEZ1+32,32:VPOKEZ1+33,32:POKE&HC11A,15:POKE&HC118,27:A=USR3(0):GOTO1540
1130 RETURN
1140 REM MOVE SKELETOR
1150 IFG1=0THENG1=7 ELSE 1170
1160 GOSUB1240
1170 IFRD=1THENYJ=YG:YG=YG-8:GOSUB1260
1180 IFRD=2THENXJ=XG:XG=XG+8:SK=39:GOSUB1260
1190 IFRD=3THENYJ=YG:YG=YG+8:GOSUB1260
1200 IFRD=4THENXJ=XG:XG=XG-8:SK=41:GOSUB1260
1210 PUTSPRITE5,(XG,YG-1),15,SK+K
1220 K=K+1ANDK<1
1230 G1=G1-1:RETURN
1240 RC=RD:RD=INT(RND(-TIME)*4+1):IF RD=RC THEN1240
1250 RETURN
1260 K1=6144+INT(INT((YG)/8)*32+((XG)/8))
1270 IF VPEEK(K1)=128ORVPEEK(K1+1)=128ORVPEEK(K1+32)=128ORVPEEK(K1+33)=128THENXG=XJ:YG=YJ:GOTO1240
1280 RETURN
1290 REM X$=STR$(L):C$="000000"
1300 X$=STR$(L):B$=RIGHT$(C$+RIGHT$(X$,LEN(RIGHT$(X$,LEN(X$)-1))),LEN(C$)):RETURN
1310 L=1:C$="00":GOSUB 1300:PRINT B$
1320 REM PRINT SCENE
1330 L=PG:L=L+1:C$="00":GOSUB 1300:A$=B$:L=LV:GOSUB 1300:
1340 LOCATE 27,0:PRINT "SCENE":LOCATE 27,1:PRINT A$;"-";B$
1350 RETURN
1360 REM PUT SPR 1UP
1370 PUTSPRITE1,(X,Y),7,SP+Z:PUTSPRITE2,(X,Y),10,1+SP+Z:PUTSPRITE3,(X,Y),12,2+SP+Z:RETURN
1380 REM death 1up
1390 A=USR2(0):A=USR7(PG)
1400 POKE&HC11A,15:POKE&HC118,11:A=USR3(0)
1410 SP=24:Z=0:FORLP=1TO3
1420 PUTSPRITE1,(X,Y),7,SP+Z:PUTSPRITE2,(X,Y),10,1+SP+Z:PUTSPRITE3,(X,Y),12,2+SP+Z
1430 FORK=0TO500:NEXTK:SP=SP+3:NEXTLP:K=0
1440 LI=LI-1:IFLI<0THEN1490
1450 LOCATE23,1:PRINTLI
1460 PG=0:A=USR8(PG)
1470 A=USR1(0):GOTO790
1480 REM GAME OVER
1490 LOCATE 10,10:PRINT" GAME OVER "
1500 POKE&HC11A,15:POKE&HC118,6:A=USR3(0)
1510 FORI=1TO5000:NEXTI:I=0
1520 GOTO180
1530 REM STAGE CLEAR
1540 A=USR2(0)
1550 POKE&HC11A,15:POKE&HC118,14:A=USR3(0)
1560 LOCATE10,10:PRINT"STAGE CLEAR"
1570 FORI=1TO7000:NEXTI:I=0
1580 FORI=0TO31:PUTSPRITEI,,0,0:NEXTI
1590 IFZ2=184THENLV=LV-1:GOTO1610
1600 LV=LV+1
1610 IFLV=1THENBLOAD"BARUKO00.VRM",S:VPOKE8208,16*14+15
1620 IFLV=2THENBLOAD"BARUKO01.VRM",S:VPOKE8208,16*9+12
1630 IFLV=3THENBLOAD"BARUKO02.VRM",S:VPOKE8208,16*7+4
1640 IFLV=4THENBLOAD"BARUKO03.VRM",S:VPOKE8208,16*14+13
1650 IFLV=5THENBLOAD"BARUKO04.VRM",S:VPOKE8208,16*7+10
1660 IFLV=6THENBLOAD"BARUKO05.VRM",S:VPOKE8208,16*6+4
1670 IFLV=7THENBLOAD"BARUKO06.VRM",S:VPOKE8208,16*6+4
1680 IFLV=8THENBLOAD"BARUKO07.VRM",S:VPOKE8208,16*6+4
1690 IFLV>8THENLV=1:GOTO1610
1700 PG=0
1710 GOTO710
1720 REM suicide 1up
1730 A=USR2(0):A=USR7(PG)
1740 POKE&HC11A,15:POKE&HC118,11:A=USR3(0)
1750 SP=24:Z=0:FORLP=1TO3
1760 PUTSPRITE1,(X,Y),7,SP+Z:PUTSPRITE2,(X,Y),10,1+SP+Z:PUTSPRITE3,(X,Y),12,2+SP+Z
1770 FORK=0TO500:NEXTK:SP=SP+3:NEXTLP:K=0
1780 LI=LI-1:IFLI<0THEN1490
1790 LOCATE23,1:PRINTLI
1800 ON LV GOSUB1820,1830,1840,1850,1860,1870,1880,1890
1810 GOTO1910
1820 BLOAD"baruko00.vrm",S:RETURN
1830 BLOAD"baruko01.vrm",S:RETURN
1840 BLOAD"baruko02.vrm",S:RETURN
1850 BLOAD"baruko03.vrm",S:RETURN
1860 BLOAD"baruko04.vrm",S:RETURN
1870 BLOAD"baruko05.vrm",S:RETURN
1880 BLOAD"baruko06.vrm",S:RETURN
1890 BLOAD"baruko07.vrm",S:RETURN
1900 GOTO1800
1910 PG=0:A=USR8(PG)
1920 A=USR1(0):GOTO790
1930 REM give me key
1940 POKE&HC11A,15:POKE&HC118,9:A=USR3(0)
1950 KE=KE+1:LOCATE23,0:PRINTKE
1960 RETURN
1970 REM put spr score
1980 IFD1=0THENXS=X:YS=Y:D1=1
1990 PUTSPRITE6,(XS,YS),10,PL
2000 LL=LL+1:IFLL>5THENLL=0:INTERVALOFF:PUTSPRITE6,,0,0:D1=0:RETURN
2010 RETURN
